#ifndef __MSIZE_H__
#define __MSIZE_H__

#include <ostream>

class MSize
{
public:
	MSize( float width = 0.0f, float height = 0.0f );
	MSize( const MSize& size );
	MSize& operator = ( const MSize& size );

	~MSize();

	void	setWidth( float width );
	float	width() const;

	void	setHeight( float height );
	float	height() const;

	MSize operator + ( const MSize& size );
	MSize& operator += ( const MSize& size );
	MSize operator - ( const MSize& size );
	MSize operator * ( const MSize& size );
	MSize operator / ( const MSize& size );
	bool	operator > ( const MSize& size );
	friend std::ostream& operator << ( std::ostream& stream, const MSize& size );
	
	MSize operator + ( float n );
	MSize operator - ( float n );
	MSize operator * ( float n );
	MSize operator / ( float n );
	bool	operator > ( float n );
private:
	float _width, _height;
};

MSize abs( MSize& size );

#endif